package ar.edu.caece.compiler.grammar.nonterminals;

import ar.edu.caece.compiler.grammar.terminals.ConstToken;
import ar.edu.caece.compiler.grammar.terminals.DosPuntosToken;
import ar.edu.caece.compiler.grammar.terminals.IdentifierToken;
import ar.edu.caece.compiler.grammar.terminals.IgualToken;
import ar.edu.caece.compiler.grammar.terminals.PuntoComaToken;

public class DECG1 extends NonTerminalLogger implements DECLAGLOBAL {

	private ConstToken constToken;
	private IdentifierToken identifierToken;
	private DosPuntosToken dosPuntosToken;
	private TIPO tipo;
	private IgualToken igualToken;
	private VALOR valor;
	private FINALSYM finalsym;
	private PuntoComaToken puntoComaToken;
	
	public DECG1(ConstToken constToken, IdentifierToken identifierToken,
			DosPuntosToken dosPuntosToken, TIPO tipo, IgualToken igualToken,
			VALOR valor, FINALSYM finalsym, PuntoComaToken puntoComaToken) {
		super();
		this.constToken = constToken;
		this.identifierToken = identifierToken;
		this.dosPuntosToken = dosPuntosToken;
		this.tipo = tipo;
		this.igualToken = igualToken;
		this.valor = valor;
		this.finalsym = finalsym;
		this.puntoComaToken = puntoComaToken;
	}

	@Override
	public String getRepresentation() {
		// TODO Auto-generated method stub
		return this.getClass().getSimpleName()+" -> "+constToken.getRepresentation()+" "+identifierToken.getRepresentation()+" "+dosPuntosToken.getRepresentation()+" "+
		tipo.getRepresentation()+" "+igualToken.getRepresentation()+" "+valor.getRepresentation()+" "+finalsym.getRepresentation()+" "+puntoComaToken.getRepresentation()+"}";
	}

	public ConstToken getConstToken() {
		return constToken;
	}

	public IdentifierToken getIdentifierToken() {
		return identifierToken;
	}

	public DosPuntosToken getDosPuntosToken() {
		return dosPuntosToken;
	}

	public TIPO getTipo() {
		return tipo;
	}

	public IgualToken getIgualToken() {
		return igualToken;
	}

	public VALOR getValor() {
		return valor;
	}

	public FINALSYM getFinalsym() {
		return finalsym;
	}

	public PuntoComaToken getPuntoComaToken() {
		return puntoComaToken;
	}

}
